38a7b6f48a54619edbd5432208648731e7c3ab0e,core/kernel/source/jetbrains/mps/smodel/constraints/ModelConstraintsUtil.java,ModelConstraintsUtil,getScope,#SNode#String#number#SNode#IOperationContext#,75

Before Change


      if (scopeReference == null) {
        return new ErrorScope("can't find link for role '" + role + "' in '" + enclosingNode.getConceptFqName() + "'");
      }
      status = getSearchScope(enclosingNode.getParent(), enclosingNode, enclosingNode.getConceptDeclarationNode(), SModelUtil.getGenuineLinkRole(scopeReference), SModelUtil.getLinkDeclarationTarget(scopeReference), enclosingNode.getRoleLink(), context);
    } else {
      scopeReference = ReferenceConceptUtil.getCharacteristicReference(smartConcept);
      SNode linkDeclaration = role != null ? enclosingNode.getLinkDeclaration(role) : null;

After Change


      if (scopeReference == null) {
        return new ErrorScope("can't find link for role '" + role + "' in '" + enclosingNode.getConceptFqName() + "'");
      }
      status = getSearchScope(createReferentConstraintContext(enclosingNode.getParent(), enclosingNode, SModelUtil.getLinkDeclarationTarget(scopeReference), enclosingNode.getRoleLink()), enclosingNode.getConceptDeclarationNode(), SModelUtil.getGenuineLinkRole(scopeReference), context);
    } else {
      scopeReference = ReferenceConceptUtil.getCharacteristicReference(smartConcept);
      SNode linkDeclaration = role != null ? enclosingNode.getLinkDeclaration(role) : null;